// console.log(module.exports)
// console.log(exports)
// console.log(module.exports===exports)

// exports.a = 'abc'
// exports.b = () => {
//   console.log('b()')
// }

// module.exports = () => {
  
// }

// exports = 'abc'

// console.log(module.exports)

/* 
模块内部有: module.exports = {}
模块向外暴露的就是module.exports的值
如何修改模块向外暴露的值
  重新赋值: module.exports = () => {}
  给默认的模块对象添加属性/方法: module.exports.fn = () => {}   // 写法相对复杂
  如何简化: 
    模块内部又设计一个全局变量exports: let exports = module.exports
    我们就可以通过exports这个变量向默认模块对象中添加属性/访求: exports.fn2 = () => {}
*/
module.exports.fn = () => {}
exports.fn2 = 'abc'

// 如果给module.exports重新赋值了, 那exports就不能用了
module.exports = []
console.log(exports)